package cn.wolfcode.trip.base.service;

import cn.wolfcode.trip.base.domain.User;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 用户关注/粉丝 业务层
 *
 * @author Wangyk
 * @date 2019/1/14 11:13
 */
public interface IUserFollowsService {

    /**
     * 添加一个关注关系
     *
     * @param masterUserId 被关注者
     * @param slaveUserId  关注者
     */
    void addOrUpdateAFollow(Long masterUserId, Long slaveUserId);

    /**
     * 通过用户id 查询用户的关注&粉丝 信息
     *
     * @param masterUserId 要查询的用户id
     * @param slaveUserId  当前用户id
     * @return 关注/粉丝信息 map
     */
    HashMap<String, Object> getFollowInfoByUserId(Long masterUserId, Long slaveUserId);

    /**
     * 查询一个用户的关注/粉丝list
     *
     * @param userId 用户id
     * @return 关注&粉丝list 组成的 map
     */
    Map<String, List<User>> getAUserzFollowersFans(Long userId);
}
